package com.koron.rating.rating.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Author: rocky
 * @Date: 2022/1/13 9:38
*/

/**
    * 设备评级-评级单元-只查询设备、部件
    */
@Data
public class RatingUnitHistoryVo implements Serializable {

    private String id;

    /**
    * 评级单id
    */
    @ApiModelProperty(value="评级单id")
    private String orderId;

    /**
     * 设备台账id 关联台账id 只可以选 对应单元类型5、6
     */
    @ApiModelProperty(value="设备台账id 关联台账id 只可以选 对应单元类型5、6")
    private String equipmentId;

    /**
    * 单元名称、设备名称 允许修改
    */
    @ApiModelProperty(value="单元名称、设备名称 允许修改")
    private String name;

    /**
    * 单元类型 数据字典: unit_type 1根节点、2部门、3单位、4单元、5设备、6部件（与台账的业务层级可以对应）
    */
    @ApiModelProperty(value="单元类型 数据字典: unit_type 1根节点、2部门、3单位、4单元、5设备、6部件（与台账的业务层级可以对应）", hidden = true)
    private String unitType;

    /**
     * 父级ID 默认有一个根节点
     */
    @ApiModelProperty(value="父级ID 默认有一个根节点")
    private String parentId;


    @ApiModelProperty(value="上次评级完成时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date beforRatingTime;

    /**
    * 上次评级 字典:rating_type  冗余 1一类、2二类、3三类、4四类
    */
    @ApiModelProperty(value="上次评级 字典:rating_type  冗余 1一类、2二类、3三类、4四类")
    private Integer beforGrade;

    /**
    * 本次评级 字典:rating_type  1一类、2二类、3三类、4四类
    */
    @ApiModelProperty(value="本次评级 字典:rating_type  1一类、2二类、3三类、4四类")
    private Integer nowGrade;

    /**
     * 评级留言
     */
    @ApiModelProperty(value="评级留言")
    private String gradeRemarks;


    /**
    * 是否主要设备 0否、1是
    */
    @ApiModelProperty(value="是否主要设备 0否、1是")
    private Boolean iscore;

    /**
     * 设备分类ID 通过分类，关联出评级标准，前端自动加载在规则内匹配到的第一个评级标准
     */
    @ApiModelProperty(value="设备分类ID 通过分类，关联出评级标准，前端自动加载在规则内匹配到的第一个评级标准")
    private String typeId;

    /**
     * 评级标准id
     */
    @ApiModelProperty(value="评级标准id")
    private String ratingId;

    /**
    * 数据来源 导入方便标识备用字段, 记录评级单元id
    */
    @ApiModelProperty(value="数据来源 导入方便标识备用字段, 记录评级单元id")
    private String dataSources;


    @ApiModelProperty(value="子级")
    private List<RatingUnitHistoryVo> det;

    @ApiModelProperty(value="缺陷数量")
    private Integer defectCount;

    @ApiModelProperty(value="专项数量")
    private Integer specialCount;

    private static final long serialVersionUID = 1L;
}